A computer network is a collection of interconnected computing devices that exchange data and share resources. In a packet-based network, such as the Internet, the computing devices communicate data by dividing the data into small blocks called packets. The packets are individually routed across the network from a source device to a destination device. The destination device extracts the data from the packets and assembles the data into its original form. Dividing the data into packets enables the source device to resend only those individual packets that may be lost during transmission.
Routing devices within the network, often referred to as routers, maintain routing information that describe available routes through the network. Upon receiving an incoming packet, the router examines information within the packet and forwards the packet in accordance with the routing information. In order to maintain an accurate representation of the network, routers exchange routing information in accordance with one or more defined routing protocols, such as the Interior Gateway Protocol (IGP).
Multi-protocol Label Switching (MPLS) is a mechanism used to engineer traffic patterns within Internet Protocol (IP) networks. By utilizing MPLS, a source device can request a path through a network, i.e., a Label Switched Path (LSP). An LSP defines a distinct path through the network to carry MPLS packets from the source device to a destination device. A short label associated with a particular LSP is affixed to packets that travel through the network via the LSP. Routers along the path cooperatively perform MPLS operations to forward the MPLS packets along the established path. LSPs may be used for a variety of traffic engineering purposes including bandwidth management and quality of service (QoS).
A variety of protocols exist for establishing point-to-point LSPs across a network. For example, one such protocol is the label distribution protocol (LDP). Label switching routers (LSRs) in an MPLS network may use LDP to inform other LSRs of their label assignments. Another protocol is a resource reservation protocol, such as the Resource Reservation Protocol with Traffic Engineering extensions (RSVP-TE).
A service provider may provide multicast services to virtual private network (VPN) customers by setting up point to multi-point (P2MP) LSPs across the service provider network. The service provider may set up P2MP LSPs using RSVP. However, many VPN networks already use LDP, and deploying a second label distribution protocol to set up P2MP LSPs may be impractical. Additionally, RSVP has difficulty scaling in service provider networks that include a large number of provider edge routers.